package nvr.utils.commandManager.handler;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 默认任务消息输出处理
 *
 * @author eguid
 * @version 2017年10月13日
 * @since jdk1.7
 */
public class DefaultOutHandlerMethod implements OutHandlerMethod {
    private static Logger logger = LoggerFactory.getLogger(DefaultOutHandlerMethod.class);
    /**
     * 任务是否异常中断，如果
     */
    public boolean isBroken = false;

    @Override
    public void parse(String id, String msg) {
        // 过滤消息
        if (msg.indexOf("fail") != -1) {
            logger.error(id + "任务可能发生故障：" + msg);
            logger.error("失败，设置中断状态");
            isBroken = true;
        } else if (msg.indexOf("miss") != -1) {
            logger.error(id + "任务可能发生丢包：" + msg);
            logger.error("失败，设置中断状态");
            isBroken = true;
        } else {
            isBroken = false;
            logger.error(id + "消息：" + msg);
        }
        //TODO FFMPEG 位置3：这里也有判断任务是否终止
        System.out.println(String.format("任务疑似 发生故障 :任务ID %s %s", id, isBroken));

    }

    @Override
    public boolean isbroken() {
        return isBroken;
    }

}
